#pragma once
#include "obj.h"

struct Ground {
  uint64 owner_id2() const;
  uint64 owner_id1() const;
  uint8 bait_state() const;
  float x() const;
  float y() const;
  float z() const;
  const std::string &name() const;
  uint64 ptr() const;
  ObjType type() const;
  uint32 index() const;
  uint64 id1() const;
  uint64 id2() const;
  // --- Constructors ---
  Ground(uint64 ptr);
  Ground(Ground &&) = default;
  Ground(const Ground &) = default;
  Ground &operator=(Ground &&) = default;
  Ground &operator=(const Ground &) = default;
  ~Ground();

private:
  Obj obj_;
  float x_;
  float y_;
  float z_;
  std::string name_;
  uint64 owner_id1_;
  uint64 owner_id2_;
};
